import {
	defineStore
} from 'pinia'
import {
	ref,
	reactive,
	computed
} from 'vue'
import piniaPersistConfig from "@/utils/persist"
// 引入配置
import config from '@/common/config'
export const useAppStore = defineStore('app', () => {
	//应用名称
	const applyName = ref('神话潮玩')
	//应用图标
	const applyIcon = ref('')
	//应用id
	const applyID = computed(()=>{
		// #ifdef MP-WEIXIN
		// 微信小程序id
		return ''
		// #endif
		// #ifdef H5
		// 公众号id
		return ''
		// #endif
		// #ifdef APP
		return ''
		// #endif
	})
	
	
	
	// 是否展示隐私政策弹窗
	const showPrivacy = ref(true)
	
	// 是否正在加载
	const showLoading = ref(false)
	// 应用的第一个页面
	const homePage = ref('/pages/tabbar/home')
	// 最后访问的页面
	const lastPage = ref('/pages/index/index')
	// 修改加载状态
	const loadingHandler = (e) => {
		showLoading.value = e || false
	}
	
	// 重定向的目标页面，用于登录后返回原来正在使用的页面
	const redirect = ref('')
	const redirectTo = ()=>{
		// #ifdef H5
		if(redirect.value){
			uni.reLaunch({
				url:redirect.value
			})
		}else{
			uni.reLaunch({
				url:'/pages/tabbar/home'
			})
		}
		// window.location.href = config.h5Url + '/#' + redirect.value
		// window.location.href = 'http://localhost:5100/' + '/#' + redirect.value //本地调试登录时使用
		// #endif
		
		
		// #ifndef H5
		if(redirect.value){
			uni.reLaunch({
				url:redirect.value
			})
		}else{
			uni.reLaunch({
				url:'/pages/tabbar/home'
			})
		}
		// #endif
		
	}


	//系统信息
	const systemInfo = uni.getSystemInfoSync();
	// 如果是小程序，获取右上角胶囊的尺寸信息，避免导航栏右侧内容与胶囊重叠(支付宝小程序非本API，尚未兼容)
	// #ifdef MP-WEIXIN || MP-BAIDU || MP-TOUTIAO || MP-QQ
	const menuButtonInfo = uni.getMenuButtonBoundingClientRect() || {}
	// #endif
	//状态栏+导航高度
	// #ifndef MP-WEIXIN
	const navbarHeight = ref(44 + systemInfo.statusBarHeight)
	// #endif
	// #ifdef MP-WEIXIN
	const navbarHeight = ref(menuButtonInfo.bottom + menuButtonInfo.top - systemInfo.statusBarHeight)
	// #endif
	const tabbarHeight = ref(80)

	//登录使用的系统信息
	const loginSystemInfo = computed(() => {
		let result = {}

		result.model = systemInfo.model
		result.system = systemInfo.system
		result.platform = systemInfo.platform
		result.brand = systemInfo.brand
		result.environment = systemInfo.environment

		// #ifdef APP-PLUS
		result.platform1 = 'APP-PLUS'
		// #endif
		// #ifdef APP-PLUS-NVUE
		result.platform1 = 'APP-PLUS-NVUE'
		// #endif
		// #ifdef H5
		result.platform1 = 'H5'
		// #endif
		// #ifdef MP-WEIXIN
		result.platform1 = 'MP-WEIXIN'
		// #endif
		// #ifdef MP-ALIPAY
		result.platform1 = 'MP-ALIPAY'
		// #endif
		// #ifdef MP-BAIDU
		result.platform1 = 'MP-BAIDU'
		// #endif
		// #ifdef MP-QQ
		result.platform1 = 'MP-QQ'
		// #endif
		// #ifdef MP-360
		result.platform1 = 'MP-360'
		// #endif
		// #ifdef QUICKAPP-WEBVIEW-UNION
		result.platform1 = 'QUICKAPP-WEBVIEW-UNION'
		// #endif
		// #ifdef QUICKAPP-WEBVIEW-HUAWEI
		result.platform1 = 'QUICKAPP-WEBVIEW-HUAWEI'
		// #endif

		return result
	})


	// return 仓库数据，外部调用
	return {
		applyName,
		applyIcon,
		applyID,
		
		showPrivacy,
		showLoading,
		homePage,
		lastPage,
		loadingHandler,

		systemInfo,
		loginSystemInfo,

		navbarHeight,
		tabbarHeight,
		
		redirect,
		redirectTo
	}
}, {
	persist: piniaPersistConfig('appStore')
})